/*
 * Licensed to the Tai Ping Jin Ke
 *
 * Copyright (c) 2022 .
 * All rights reserved.
 * 项目名称：呼叫中心-请求处理层-工作台
 * 版权说明：本软件属太平金融科技服务(上海)有限公司所有，在未获得太平金融科技服务(上海)有限公司正式授权情况下，任何企业和个人，不能获取、阅读、安装、传播本软件涉及的任何受知识产权保护的内容。
 */
package com.taiping.cc.platform.app.listener;

import com.taiping.cc.application.constant.websocket.WebSocketChannelEnum;
import com.taiping.cc.platform.webapi.handler.IndexHandler;
import com.taipingframework.json.JacksonHelper;
import com.taipingframework.monitor.MonitorResult;
import com.taipingframework.monitor.event.ServerMonitorEvent;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;

import java.util.Objects;

@Slf4j
@Component
@RequiredArgsConstructor
public class ServerMonitorHandler {

    private final IndexHandler indexHandler;

    /**
     * 服务器探针-事件通知
     */
    @EventListener(ServerMonitorEvent.class)
    public void onApplicationEvent(ServerMonitorEvent event) {
        MonitorResult result = event.getResult();
        if (Objects.nonNull(result)) {
            log.debug("成功获取到项目部署环境参数");
            indexHandler.sendMessage(WebSocketChannelEnum.CHART_PIE.getChannelKey(), JacksonHelper.to(result));
        }
    }
}
